package jp.shuitic.hatebwebhook.twitter.web.client;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * GWTクライアント用の、HatebWebHookTwitUserを操作するスタブ
 * @author shuitic
 */
@RemoteServiceRelativePath("hbwtService")
public interface HatebTwitService extends RemoteService {
	/**
	 * ログインしているユーザの情報を取得する
	 * @return ユーザ情報
	 * @throws HatebWebHookTwitException
	 */
	HatebWebHookTwitUser getHatebHookTwitUser() throws HatebWebHookTwitException;
	/**
	 * HatebWebHookTwitUserを更新する
	 * @param hatebUserName
	 * @param hatebWebHookKey
	 * @param twitterUserName
	 * @param twitterPassword
	 * @return
	 * @throws HatebWebHookTwitException
	 */
	HatebWebHookTwitUser updateHatebHookTwitUser(String hatebUserName, String hatebWebHookKey, String twitterUserName, String twitterPassword) throws HatebWebHookTwitException;
	/**
	 * HatebWebHookTwitUser情報を削除する
	 * @return
	 * @throws HatebWebHookTwitException
	 */
	boolean removeHatebHookTwitUser() throws HatebWebHookTwitException;
}
